Personalized emoji dictionary

ABSTRACT

A personalized emoji dictionary, such as for use with emoji-first messaging. Text messaging is automatically converted to emojis by an emoji-first application so that only emojis are communicated from one client device to another client device. Each client device has a personalized emoji library of emojis that are mapped to words, which libraries are customizable and unique to the users of the client devices, such that the users can communicate secretly in code. Upon receipt of a string of emojis, a user can select the emoji string to convert to text if desired, for a predetermined period of time.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.17/234,905 filed on Apr. 20, 2021, the contents of which areincorporated fully herein by reference.

TECHNICAL FIELD

The present subject matter relates to electronic devices and, moreparticularly, to using emojis in communications between electronicdevices.

BACKGROUND

Textual communication is a common means of communication between usersof electronic devices (e.g., texting). Textual communication isconventionally performed using standardized computer fonts. Emojis canbe used in text communications to enhance communications between theusers.

BRIEF DESCRIPTION OF THE DRAWINGS

The drawing figures depict one or more implementations, by way ofexample only, not by way of limitations. In the figures, like referencenumerals refer to the same or similar elements.

FIG. 1 is a block diagram illustrating a system configured tocommunicate with emojis first, and also with personalized emoji mappingas expressed in each of a pair of client devices shared customizablelibraries;

FIG. 2 is a block diagram illustrating communication between clientdevices with emojis first;

FIG. 3A, FIG. 3B, FIG. 3C and FIG. 3D illustrate emoji-first messagingon a client device;

FIG. 4 illustrates a method of operating the emoji-first application ona client device;

FIG. 5 illustrates a screen showing personalized emoji-first mapping ofemojis to words; and

FIG. 6 is a high-level functional block diagram of an example clientdevice comprising a client device that communicates via network withserver system.

DETAILED DESCRIPTION

One aspect of the present disclosure describes a personalized emojidictionary, such as for use with emoji-first messaging. Text messagingis automatically converted to emojis by an emoji-first application sothat only emojis are communicated from one client device to anotherclient device. Each client device has a personalized emoji library ofemojis that are mapped to words, which libraries are customizable andunique to the users of the client devices, such that the users cancommunicate secretly in code. Upon receipt of a string of emojis, a usercan select the emoji string to convert to text if desired, such as bytapping the displayed received emoji string, for a predetermined periodof time. This disclosure provides a more engaging user experience.

The description that follows includes systems, methods, techniques,instruction sequences, and computing machine program productsillustrative of examples of the disclosure. In the followingdescription, for the purposes of explanation, numerous specific detailsare set forth in order to provide an understanding of various examplesof the disclosed subject matter. It will be evident, however, to thoseskilled in the art, that examples of the disclosed subject matter may bepracticed without these specific details. In general, well-knowninstruction instances, protocols, structures, and techniques are notnecessarily shown in detail.

FIG. 1 is a block diagram illustrating a system 100, according to someexamples, configured to enable users of client devices to communicatewith one another using only emojis, referred to in this disclosure asemoji-first messaging. Text created by users is automatically convertedto emojis based on customizable libraries. The system 100 includes twoor more client devices 110. The client device 110 includes, but is notlimited to, a mobile phone, eyewear, desktop computer, laptop, portabledigital assistants (PDA), smart phone, tablet, ultrabook, netbook,laptop, multi-processor system, microprocessor-based or programmableconsumer electronic, game console, set-top box, computer in a vehicle,or any other communication device that a user may utilize to access thesystem 100. The client devices 110 include a display displayinginformation, e.g., in the form of user interfaces. In further examples,the client device 110 includes one or more of touch screens,accelerometers, gyroscopes, cameras, microphones, global positioningsystem (GPS) devices, and so forth. The client device 110 may be adevice of a user that is used to access and utilize an online socialplatform.

For example, client device 110 is a device of a given user who uses aclient application 114 on an online social platform, a gaming platform,and communication applications. Client device 110 accesses a website,such as an online social platform hosted by a server system 108. Theuser inputs login credentials associated with the user. Server system108 receives the request and provides access to the online socialplatform.

A user of the client device 110 launches and engages a clientapplication 114 hosted by the server system 108, which in one example isa messaging application. The client device 110 includes an emoji-firstmodule 116 including a processor running client code for performing theemoji-first messaging on the client device 110. The emoji-first module116 automatically converts text words entered by a user on a clientdevice 110 to generate a string of one or more emojis based on acustomizable library 118. The library 118 contains a list of emojismatched to one or more words of text. The messaging client application114 communicates the emoji string between client devices 110. When auser of another client device 110 having the same customizable library118 receives the generated emoji string, it displays the string ofemojis on a device display, and the user can optionally selectconverting the received string of emojis to text, such as by tapping onthe emoji string.

One or more users may be a person, a machine, or other means ofinteracting with the client device 110. In examples, the user may not bepart of the system 100 but may interact with the system 100 via theclient device 110 or other means. For instance, the user may provideinput (e.g., touch screen input, alphanumeric input, verbal input, orvisual input) to the client device 110 and the input may be communicatedto other entities in the system 100 (e.g., third-party servers 128,server system 108, etc.) via a network 102 (e.g., the Internet). In thisinstance, the other entities in the system 100, in response to receivingthe input from the user, may communicate information to the clientdevice 110 via the network 102 to be presented to the user. In this way,the user interacts with the various entities in the system 100 using theclient device 110.

One or more portions of the network 102 may be an ad hoc network, anintranet, an extranet, a virtual private network (VPN), a local areanetwork (LAN), a wireless LAN (WLAN), a wide area network (WAN), awireless WAN (WWAN), a metropolitan area network (MAN), a portion of theInternet, a portion of the public switched telephone network (PSTN), acellular telephone network, a wireless network, a WiFi network, a 4G LTEnetwork, another type of network, or a combination of two or more suchnetworks.

The client device 110 may access the various data and applicationsprovided by other entities in the system 100 via a web client 112 (e.g.,a browser) or one or more client applications 114. The client device 110may include one or more client application(s) 114 (also referred to as“apps”) such as, but not limited to, a web browser, messagingapplication, multi-player gaming application, electronic mail (email)application, an e-commerce site application, a mapping or locationapplication, and the like.

In some examples, one or more client application(s) 114 are included ina given one of the client device 110, and configured to locally providethe user interface and at least some of the functionalities, with theclient application(s) 114 configured to communicate with other entitiesin the system 100 (e.g., third-party server(s) 128, server system 108,etc.), on an as-needed basis, for data processing capabilities notlocally available (e.g., to access location information, to authenticatea user, etc.). Conversely, one or more client application(s) 114 may notbe included in the client device 110, and then the client device 110 mayuse its web browser to access the one or more applications hosted onother entities in the system 100 (e.g., third-party server(s) 128,server system 108, etc.).

The server system 108 provides server-side functionality via the network102 (e.g., the Internet or wide area network (WAN)) to: one or morethird party server(s) 128, and one or more client devices 110. Theserver system 108 includes an application server 104 including anapplication program interface (API) server 120, a web server 122, andone or more personalized font modules 124, that may be communicativelycoupled with one or more database(s) 126. The one or more database(s)126 may be storage devices that store data related to users of theserver system 108, applications associated with the server system 108,cloud services, and so forth. The one or more database(s) 126 mayfurther store information related to third-party server(s) 128,third-party application(s) 130, client device 110, client application(s)114, users, and so forth. In one example, the one or more database(s)126 may be cloud-based storage.

The server system 108 may be a cloud computing environment, according tosome examples. The server system 108, and any servers associated withthe server system 108, may be associated with a cloud-based application,in one example.

The emoji-first module 116 is stored on the client device 110 and/orserver 108 to optimize processing efficiency. In some examples, allmodules for performing a specific task are stored on the device/serverperforming that action. In other examples, some modules for performing atask are stored on the client device 110 and other modules forperforming that task are stored on the server 108 and/or other devices.In some examples, modules may be duplicated on the client device 110 andthe server 108.

The one or more third-party application(s) 130, executing on third-partyserver(s) 128 may interact with the server system 108 via API server 120via a programmatic interface provided by the API server 120. Forexample, one or more of the third-party applications 130 may request andutilize information from the server system 108 via the API server 120 tosupport one or more features or functions on a website hosted by thethird party or an application hosted by the third party. The third-partyapplication(s) 130, for example, may provide software version analysisfunctionality that is supported by relevant functionality and data inthe server system 108.

FIG. 2 provides an overview of one example of communicating using theemoji-first module 116 among a plurality of client devices 110 a-n usingmessaging application 114. The client devices 110 a-n in FIG. 2 eachinclude the emoji-first module 116 and messaging application 114, and arespective display screen 200 a-n configured to display the messaging.The display screen 200 a-n is also referred to as a “chat” interface.

The emoji-first module 116 is an application, such as an iOS app, thatenables emoji-first communication between two people in a closerelationship, leveraging their closeness and history with each other tofoster a shared emoji vocabulary between them. Each user creates anaccount and specifies a single partner with whom they will use theemoji-first module 116. The chat interface 200 allows the user pair tosend and receive emoji-first messages between them, such that themessages comprise of only emojis, such as shown in FIGS. 3A-3D. Theemoji-first module 116 automatically and dynamically converts/translatesall text into emojis on the fly as the user types, as shown in FIG. 3B,by using automatic text-to-emoji mapping. The users have the option topersonalize the emoji-first messages they send by defining their owntext-to-emoji mappings, as shown in FIG. 3C, which mappings are storedin library 118. Emojis can be selectively associated with words that aredifferent than the mapping provided by Unicode CLDR data.

The chat interface 200 allows users to exchange emoji-first messageswith their partners. That is, the users receive sequences of emoji,referred to as strings, representing a text message without beingaccompanied by text at first, though they may choose to view the messagein text later by tapping the messages. As shown in FIG. 3B and FIG. 3C,the emoji-first messages appear in bubbles, where yellow messagesindicate sent, and grey messages indicate received. The user can type,personalize, and preview their message using the three boxes 302, 304and 306 in the chat interface 200. Once the user is satisfied with amessage they have created in the chat interface 200, they can send themessage by tapping the send button 310 which is represented by a yellowcircle containing an upward arrow. When a message is received, thereceiving user only sees the emoji string at first in both the iOSnotification 312 in the chat interface 200 as shown in FIG. 3A, and inthe chat interface 200 as shown at 314 in FIG. 3B, where the user cantap the emoji string to reveal the fully translated message'scorresponding text. Upon tapping, the revealed message will display fora predetermined time, such as 5 seconds in on example, which is helpfulto maintain privacy.

Referring to FIG. 4 , there is shown a method 400 of operating theemoji-first application 116 on client device 110 in view of FIGS. 3A-3D.The method 400 is performed by a processor of the client device 110,shown as processor 630 in FIG. 6 as will be discussed more shortly.

At block 402, the recipient, referred to as “Friend 1”, always sees thereceived emoji string first, shown as the notification message 312 inFIG. 3A. The notification message 312 from “Friend 2” includes only astring of emojis that are found in the libraries 118 of each clientdevice 110. The emoji-first application 116 sends users standard iOSpush notifications whenever the user receives a message from theirpartner.

At block 404, Friend 1 can long press message 312 from Friend 2 totoggle between the emoji string and text words as shown at 314 in FIG.3B. The library 118 is used to map the received emojis into words.Responsively, Friend 1 can type a reply to Friend 2 in box 302, and theemoji-first application 116 automatically and fully translates the replyto a string of emojis on the fly as shown in box 304. Box 306 istappable and allows Friend 1 to modify the automatic mappings. Box 302is the “main” box that users type into, and they use their clientdevice's standard text-based keyboard to do so. Users can enter emojihere as well through their smartphone's keyboard.

At block 406, as shown in FIG. 3C, the word “craving” in box 302 ismapped to a single emoji, indicated by the matching the width of thebubble above this word in box 304. The width (in pixels) of the bubblearound each emoji mapping in box 304 matches the width (in pixels) ofthe corresponding input token from box 302. To personalize the emojimapping for the word “craving”, Friend 1 selects that emoji in box 306to choose a new mapping for the word “craving.” This topmost box 306acts as a final preview of the emoji message that will be sent, withoutthe artificial spacing between emoji that box 304 shows. Box 306 is alsointeractive. The user can select substrings of emoji within box 306, asshown in FIG. 3C to open the “personalization menu” in box 308 andreplace the emoji substring with their own emoji string mapping. Shownat 308 is a set of possible emojis that are presented to Friend 1, suchthat Friend 1 can choose from the set to establish the personalizedemoji for the word “craving”.

At block 408, as shown in FIG. 3D, the chosen emoji mapping now appearsin box 306 and becomes part of the pair's shared vocabulary which isstored in library 118. Both friends can view and modify the sharedvocabulary in library 118 anytime, thereby providing a personalized andmodifiable shared vocabulary.

Referring to FIG. 5 , there is shown an example screen 500 of the chatinterface 200 showing library 118 displayed on a client device display200, referred to in this disclosure as an Emotionary. This screen 500shows the shared vocabulary of text-to-emoji mappings (from text stringsto emoji strings) that a user and their partner has created over time.The library 118 serves as an emoji dictionary that both partners cancontribute to and draw from in their communication. The on-the-flytext-to-emoji mapping algorithm 400 of FIG. 4 uses this library 118 asdescribed. There are two portions, the user's text-to-emoji mappingsshown on top, and their partner's text-to-emoji mappings shown onbottom. The mappings can be sorted alphabetically or by creation date bythe user. Users can add new mappings to the library 118 in two ways. Thefirst way is via the “Add” button 502 on the screen, and the second wayis through the display 200 itself, by simply changing any automaticallygenerated text-to-emoji mapping. The combined library 118 allows usersto utilize both their and their partner's mappings when typing messages.The emoji-first application 116 prioritizes a user's own library 118during message translation whenever their partner has a competingmapping.

FIG. 6 is a high-level functional block diagram of an example clientdevice 110 including a client device that communicates via network 102with server system 108 of FIG. 1 . Display 200 is a touch screen typedisplay, although other non-touch type displays can be used. Examples oftouch screen type client devices 110 that may be used include (but arenot limited to) a smart phone, a personal digital assistant (PDA), atablet computer, a laptop computer, eyewear, or other portable device.However, the structure and operation of the touch screen type clientdevices is provided by way of example, and the subject technology asdescribed herein is not intended to be limited thereto. For purposes ofthis discussion, FIG. 6 therefore provides a block diagram illustrationof the example client device 110 having a touch screen display fordisplaying content and receiving user input as (or as part of) the userinterface. Client device 110 also includes a camera(s) 670, such asvisible light camera(s), and a microphone 680.

The activities that are the focus of discussions here involve theemoji-first messaging, and also the personalized library of emojis thatare shared between two users of client devices 110. The emoji-firstapplication 116 and the library 118 may be stored in memory 640 forexecution by CPU 630, such as flash memory 640A or RAM memory 640B.

As shown in FIG. 6 , the client device 110 includes at least one digitaltransceiver (XCVR) 610, shown as WWAN XCVRs, for digital wirelesscommunications via a wide area wireless mobile communication network102. The client device 110 also includes additional digital or analogtransceivers, such as short range XCVRs 620 for short-range networkcommunication, such as via NFC, VLC, DECT, ZigBee, Bluetooth™, or WiFi.For example, short range XCVRs 620 may take the form of any availabletwo-way wireless local area network (WLAN) transceiver of a type that iscompatible with one or more standard protocols of communicationimplemented in wireless local area networks, such as one of the Wi-Fistandards under IEEE 802.11, 4G LTE and 5G.

To generate location coordinates for positioning of the client device110, the client device 110 can include a global positioning system (GPS)receiver (not shown). Alternatively, or additionally, the client device110 can utilize either or both the short range XCVRs 620 and WWAN XCVRs610 for generating location coordinates for positioning. For example,cellular network, WiFi, or Bluetooth™ based positioning systems cangenerate very accurate location coordinates, particularly when used incombination. Such location coordinates can be transmitted to the eyeweardevice over one or more network connections via XCVRs 620.

The transceivers 610, 620 (network communication interface) conforms toone or more of the various digital wireless communication standardsutilized by modern mobile networks. Examples of WWAN transceivers 610include (but are not limited to) transceivers configured to operate inaccordance with Code Division Multiple Access (CDMA) and 3rd GenerationPartnership Project (3GPP) network technologies including, for exampleand without limitation, 3GPP type 2 (or 3GPP2) and LTE, at timesreferred to as “4G”, and 5G. For example, the transceivers 610, 620provide two-way wireless communication of information includingdigitized audio signals, still image and video signals, web pageinformation for display as well as web related inputs, and various typesof mobile message communications to/from the client device 110 for useridentification strategies.

Several of these types of communications through the transceivers 610,620 and a network, as discussed previously, relate to protocols andprocedures in support of communications with the server system 108 forobtaining and storing friend device capabilities. Such communications,for example, may transport packet data via the short range XCVRs 620over the wireless connections of network 102 to and from the serversystem 108 as shown in FIG. 1 . Such communications, for example, mayalso transport data utilizing IP packet data transport via the WWANXCVRs 610 over the network (e.g., Internet) 102 shown in FIG. 1 . BothWWAN XCVRs 610 and short range XCVRs 620 connect through radio frequency(RF) send-and-receive amplifiers (not shown) to an associated antenna(not shown).

The client device 110 further includes microprocessor 630, shown as aCPU, sometimes referred to herein as the host controller. A processor isa circuit having elements structured and arranged to perform one or moreprocessing functions, typically various data processing functions.Although discrete logic components could be used, the examples utilizecomponents forming a programmable CPU. A microprocessor for exampleincludes one or more integrated circuit (IC) chips incorporating theelectronic elements to perform the functions of the CPU. The processor630, for example, may be based on any known or available microprocessorarchitecture, such as a Reduced Instruction Set Computing (RISC) usingan ARM architecture, as commonly used today in client devices and otherportable electronic devices. Other processor circuitry may be used toform the CPU 630 or processor hardware in smartphone, laptop computer,and tablet.

The microprocessor 630 serves as a programmable host controller for theclient device 110 by configuring the device to perform variousoperations, for example, in accordance with instructions or programmingexecutable by processor 630. For example, such operations may includevarious general operations of the client device 110, as well asoperations related to emoji-first messaging using emoji-firstapplication 116, and also personalized libraries 118 mapping emojis totext between a two or more users. Although a processor may be configuredby use of hardwired logic, typical processors in client devices aregeneral processing circuits configured by execution of programming.

The client device 110 includes a memory or storage device system, forstoring data and programming. In the example, the memory system mayinclude a flash memory 640A and a random access memory (RAM) 640B. TheRAM 640B serves as short term storage for instructions and data beinghandled by the processor 630, e.g., as a working data processing memory.The flash memory 640A typically provides longer term storage.

Hence, in the example of client device 110, the flash memory 640A isused to store programming or instructions for execution by the processor630. Depending on the type of device, the client device 110 stores andruns a mobile operating system through which specific applications,including application 114. Examples of mobile operating systems includeGoogle Android®, Apple iOS® (I-Phone or iPad devices), Windows Mobile®,Amazon Fire OS®, RIM BlackBerry® operating system, or the like.

The terms and expressions used herein are understood to have theordinary meaning as is accorded to such terms and expressions withrespect to their corresponding respective areas of inquiry and studyexcept where specific meanings have otherwise been set forth herein.Relational terms such as first and second and the like may be usedsolely to distinguish one entity or action from another withoutnecessarily requiring or implying any actual such relationship or orderbetween such entities or actions. The terms “comprises,” “comprising,”“includes,” “including,” or any other variation thereof, are intended tocover a non-exclusive inclusion, such that a process, method, article,or apparatus that comprises or includes a list of elements or steps doesnot include only those elements or steps but may include other elementsor steps not expressly listed or inherent to such process, method,article, or apparatus. An element preceded by “a” or “an” does not,without further constraints, preclude the existence of additionalidentical elements in the process, method, article, or apparatus thatcomprises the element.

In addition, in the foregoing Detailed Description, it can be seen thatvarious features are grouped together in various examples for thepurpose of streamlining the disclosure. This method of disclosure is notto be interpreted as reflecting an intention that the claimed examplesrequire more features than are expressly recited in each claim. Rather,as the following claims reflect, the subject matter to be protected liesin less than all features of any single disclosed example. Thus, thefollowing claims are hereby incorporated into the Detailed Description,with each claim standing on its own as a separately claimed subjectmatter.

The examples illustrated herein are described in sufficient detail toenable those skilled in the art to practice the teachings disclosed.Other examples may be used and derived therefrom, such that structuraland logical substitutions and changes may be made without departing fromthe scope of this disclosure. The Detailed Description, therefore, isnot to be taken in a limiting sense, and the scope of various examplesis defined only by the appended claims, along with the full range ofequivalents to which such claims are entitled.

Additional objects, advantages and novel features of the examples willbe set forth in part in the description which follows, and in part willbecome apparent to those skilled in the art upon examination of thefollowing and the accompanying drawings or may be learned by productionor operation of the examples. The objects and advantages of the presentsubject matter may be realized and attained by means of themethodologies, instrumentalities and combinations particularly pointedout in the appended claims.

What is claimed is:
 1. A controller operable on an electronic devicehaving a user interface configured to allow a user to enter text,comprising: a memory; and a processor coupled to the memory, wherein theprocessor is configured to use a customizable library stored in thememory and that maps text to emojis, wherein the customizable library isconfigured to be shared with one or more second electronic devices, to:automatically convert the text to emojis wherein all the text isconverted to emojis to generate a first string of only emojis withoutuser input; send a message comprising the first string of only emojis tothe one or more second electronic devices; receive a second string ofonly emojis from the one or more second electronic devices and convertall the emojis to text; and display the second string of only emojis onthe user interface.
 2. The controller of claim 1, wherein thecustomizable library comprises mapping of a plurality of words toemojis.
 3. The controller of claim 2, wherein the customizable libraryis configured to allow the user to selectively map an emoji to each of aplurality of words to generate a unique library.
 4. The controller ofclaim 3, wherein the customizable library is configured to enable theprocessor to present a set of emojis on the user interface to beselected by the user for a word.
 5. The controller of claim 3, whereinthe processor is configured to toggle the displayed second string ofonly emojis to text when the user taps the user interface.
 6. Thecontroller of claim 3, wherein the unique library is configured to beshared with only the one or more second electronic devices to create aprivate message exchange.
 7. The controller of claim 3, wherein theunique library includes the same mapping of words to emojis as acustomizable library of the one or more second electronic devices.
 8. Amethod of operating a controller that is operable on an electronicdevice having a user interface configured to allow a user to enter text,the controller including a memory, and a processor coupled to thememory, wherein the processor is configured to use a customizablelibrary stored in the memory and that maps text to emojis, wherein thecustomizable library is configured to be shared with one or more secondelectronic devices, the processor: automatically converting the text toemojis using the customizable library wherein all the text is convertedto emojis to generate a first string of only emojis; sending a messagecomprising the first string of only emojis to the one or more secondelectronic devices; receiving a second string of only emojis from theone or more second electronic devices and convert all the emojis totext; and displaying the second string of only emojis on the userinterface.
 9. The method of claim 8, wherein the customizable librarymaps a plurality of words to emojis.
 10. The method of claim 9, whereinthe customizable library allows the user to selectively map an emoji toeach of a plurality of words to generate a unique library.
 11. Themethod of claim 10, wherein the customizable library enables theprocessor to present a set of emojis on the user interface to beselected for a word by the user.
 12. The method of claim 10, wherein theprocessor toggles the displayed second string of only emojis to textwhen the user taps the user interface.
 13. The method of claim 10,wherein the unique library is shared with only the one or more secondelectronic devices to create a private message exchange.
 14. The methodof claim 10, wherein the unique library includes the same mapping ofwords to emojis as a customizable library of the one or more secondelectronic devices.
 15. A non-transitory computer-readable mediumstoring program code operable on a controller of an electronic devicehaving a user interface configured to allow a user to enter text, thecontroller including a memory, a processor coupled to the memory, and acustomizable library stored in the memory and that maps text to emojis,wherein the customizable library is configured to be shared with one ormore second electronic devices, wherein the code is operative to causethe processor to perform the steps of: automatically converting the textto emojis using the customizable library wherein all the text isconverted to emojis to generate a first string of only emojis; sending amessage comprising the string of only emojis to the one or more secondelectronic devices; receiving a second string of only emojis from theone or more second electronic devices and convert all the emojis totext; and displaying the second string of only emojis on the userinterface.
 16. The non-transitory computer-readable medium of claim 15,wherein the customizable library maps a plurality of words to emojis.17. The non-transitory computer-readable medium of claim 16, wherein thecustomizable library allows the user to selectively map an emoji to eachof a plurality of words to generate a unique library.
 18. Thenon-transitory computer-readable medium of claim 17, wherein thecustomizable library enables the processor to present a set of emojis onthe display to be selected for a word by a user.
 19. The non-transitorycomputer-readable medium of claim 15, wherein the customizable libraryis configured to be shared with only the one or more second electronicdevices to create a private message exchange.
 20. The non-transitorycomputer-readable medium of claim 15, wherein the code is operative tocause the processor to toggle the displayed second string of only emojisto text when the user taps the user interface.